There are numerous reasons to reduce, if not minimize, energy consumption in computing devices. One very common reason is to prolong battery life in a rechargeable battery pack. Such battery packs are found within notebook/laptop computers, handheld computers, personal digital assistants, cell phones, etc. The re-chargeable battery packs often comprise a large portion of the weight of portable computing devices such as notebook and hand held computing devices, increasing the efficiency of such computing devices enables smaller battery packs to be utilized without compromising on re-charge life of the computing devices. Another benefit of reduced energy consumption includes reducing the heat created by the computing devices. The reduced heat consumption can eliminate/reduce the need to use a cooling device that in turn reduces the battery life. Finally, there is a general interest in not wasting energy. The last two interests apply to all computing devices regardless of whether they are battery powered or powered from a wall outlet.
In response to the need for efficient use of power, power management capabilities are provided with a wide variety of computing devices. One such example, Advanced Control Power Interface (ACPI) incorporates a power management driver that controls implementation of a set of stepped power states. A power state is associated with a level of power consumption by either a system or a particular component device within a system. Beginning at a highest level, each successive power state consumes a lower amount of power. Thus, the first level consumes maximum energy and the final level consumes the least amount.
The ACPI power management driver supports a set of six global power states and four device power states assignable by device drivers to their component devices (e.g., a display, a disk drive, a CPU, etc.) at each of the six global power states. The six global power states are assigned at the time a computing device is manufactured. By way of example, a manufacturer determines the way in which component devices will operate at each of the six levels. This is accomplished by specifying one of the potentially four levels of operation for each device at each of the six levels. Based upon energy consumption data provided/determined for each device at each of its specified power states, the manufacturer determines the total power consumption for each of the specified levels. The six power states are arranged from highest to lowest power consumption level. One way in which such a restriction is implemented is to require that device power state either stay the same or decrease from higher global power state to a lower power state.
Another aspect of the prior known power management schemes is that they are statically defined and inflexibly implemented. Once assigned, the six global power states are not re-assignable without reinitializing the entire computing device. The only control over designating power states of devices is through specifying one of the six available global power states. Thus, if a particular, power hungry component device requires a higher level power state, then all the remaining component device power states are raised or maintained in accordance with the lowest global power state that meets the needs of the power hungry component device. This leads to inefficient and unnecessary consumption of power in the computing device.